运算符
JavaScript 拥有如下类型的运算符:
JavaScript 的运算符,包括了赋值、比较、算数、位运算、逻辑、三元,一元,等等。
赋值运算符(Assignment operators)
一个 赋值运算符 将它右边操作数的值赋给它左边的操作数。最简单的赋值运算符是等于(=),它将右边的操作数值赋给左边的操作数。
x = y;
解构,对于更复杂的赋值
var foo = ["one", "two", "three"];
// 使用解构
var [one, two, three] = foo;
比较运算符(Comparison operators)
== 相等
!= 不相等
=== 数相等且类型相同
!== 不相等或类型不同
> 大于
>= 大于或等于
< 小于
<= 小于或等于
// 3 == "3";
算数运算符(Arithmetic operators)
+ 加
- 减
* 乘
/ 除
% 求余
++ 自增
-- 自减
- 一元负值符
+ 一元正值符
** 指数运算符
// 1 / 2;
位运算符(Bitwise operators)
位运算符将它的操作数视为 32 位元的二进制串(0 和 1 组成)而非十进制八进制或十六进制数。例如:十进制数字 9 用二进制表示为 1001,位运算符就是在这个二进制表示上执行运算,但是返回结果是标准的 JavaScript 数值。
按位移位运算符
<< 按位左移运算符。
>> 按位右移运算符。
>>> 按位无符号右移运算符。
按位二元运算符
& 按位与。
| 按位或。
^ 按位异或。
按位一元运算符
~ 按位非运算符。
// ~a;
逻辑运算符(Logical operators)
&& 逻辑与
|| 逻辑或
! 逻辑非
?? 空合并运算符。
// true && false;
条件(三元)运算符(Conditional operator)
let age = 18;
age >= 18 ? "adult" : "minor";
逗号运算符(Comma operator)
逗号(,)运算符对它的每个操作数从左到右求值,并返回最后一个操作数的值。
let x = 1;
x = (x++, x);
console.log(x); // Expected output: 2
x = (2, 3);
console.log(x); // Expected output: 3
一元运算符(Unary operators)
一元操作符仅对应一个操作数。
delete objectName.property;
typeof operand;
void expression;
关系运算符(Relational operator)
关系运算符对操作数进行比较,根据比较结果真或假,返回相应的布尔值。
propNameOrNumber in objectName;
objectName instanceof objectType;